// 11.[java排序TreeSet] Olympic Game https://oj.rnd.huawei.com/problems/11/submissions
// java 排序,输入输出 
// 2012伦敦奥运会即将到来，大家都非常关注奖牌榜的情况，现在我们假设奖牌榜的排名规则如下：
// 1、首先gold medal数量多的排在前面；
// 2、其次silver medal数量多的排在前面；
// 3、然后bronze medal数量多的排在前面；
// 4、若以上三个条件仍无法区分名次，则以国家名称的字典序排定。
// 我们假设国家名称不超过20个字符、各种奖牌数不超过100，且大于等于0。
// 5
// China 32 28 34
// England 12 34 22
// France 23 33 2
// Japan 12 34 25
// Rusia 23 43 0

import java.util.*;

public class Main {
  public static void main(String[] args) {
    Scanner sc = new Scanner(System.in);
    String a = sc.nextLine();
    TreeSet<String[]> set = new TreeSet<String[]>((o1, o2) -> {
      if (Integer.valueOf(o2[1]) - Integer.valueOf(o1[1]) == 0){
        if (Integer.valueOf(o2[2]) - Integer.valueOf(o1[2]) == 0){
          if (Integer.valueOf(o2[3]) - Integer.valueOf(o1[3]) == 0){
            return o1[0].compareTo(o2[0]);
          }
          return Integer.valueOf(o2[3]) - Integer.valueOf(o1[3]);
        }
        return Integer.valueOf(o2[2]) - Integer.valueOf(o1[2]);
      }
      return Integer.valueOf(o2[1]) - Integer.valueOf(o1[1]);
    });
    for (int i = 0; i < Integer.valueOf(a); i++) {
      String s = sc.nextLine();
      String[] arr = s.split(" ");
      set.add(arr);
    }
    for (String[] strings : set) {
      System.out.println(strings[0]);
    }
  }
}
